#include <iostream>
#include <cstring>
#include <cstdio>
#include <unistd.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
#include "Common.hpp"

using namespace std;
int main()
{
    //sever中已经打开了命名管道，client中只需要，以写的方式打开即可
    int wfd = open(fifoname.c_str(),O_WRONLY);
    if(wfd == -1)
    {
        cout << "open filed" ;
        cout << "errno :" << strerror(errno) << endl;
        exit(0);
    }
    
    //开始通信
    char buff[1024] = {0};
    while(true)
    {
        buff[0] = '\0'; //情况buff中的数据

        //目的：client，从键盘上获取的字符串，传到server上
        char* mesg = fgets(buff,sizeof(buff),stdin); //fgets是C库中的函数，它会自动处理\0，因此这里不需要-1
        //去掉'\n'
        buff[strlen(buff) - 1] = '\0'; 
        //返回值是指向读取到的字符串的指针
        int n = write(wfd,buff,strlen(buff));

        // //不按回车进行传送数据
        // system("stty raw");
        // int c = getchar();
        // system("stty -raw");
        //int n = write(wfd, &c, sizeof(c));

        if(n == -1)
        {
            cout << "write filed" ;
            cout << "errno :" << strerror(errno) << endl;
            break;
        }

    }

    //关闭文件
    close(wfd);

    return 0;
}